/**
 * 将指定位置的字符串替换为等长的星号
 * @param {string} str - 原字符串
 * @param {number} start - 替换起始索引（从0开始）
 * @param {number} length - 替换字符长度
 * @returns {string} - 替换后的字符串
 */
export const replaceWithStars = (str, start, length, character = '∗') => {
    if (typeof str !== 'string') return str;
    if (start < 0) start = 0;
    if (length <= 0) return str;

    const end = Math.min(start + length, str.length);
    // 各种特别： ✱ ∗ * ✲ •
    const stars = character.repeat(end - start);
    return str.substring(0, start) + stars + str.substring(end);

}
// console.log(replaceWithStars('abcdefg', 2, 3));  // ab✱✱✱fg
// console.log(replaceWithStars('1234567890', 4, 4)); // 1234✱✱✱✱90
// console.log(replaceWithStars('hello', 1, 10));  // h✱✱✱✱ （超出部分自动截断）

/**
 * 格式化文本
 * @param {string} text - 原始文本
 * @param {number} keep - 需要保留的前面字符数（默认 4）
 * @param {string} suffix - 超出部分的补全字符（默认 '•••'）
 * @returns {string} 格式化后的文本
 */
export const formatedText = (text, keep = 4, suffix = '•••') => {
    if (!text) return '';
    return text.length <= keep ? text : text.substring(0, keep) + suffix;
}

// 使用示例：
console.log(formatedText("汽车管理系统", 4, '•••')); // 汽车管理•••
console.log(formatedText("汽车管理系统", 2, '✱✱✱')); // 汽✱✱✱
console.log(formatedText("车", 4, '•••')); // 车
// {{ formatedText(userInfo?.name, 6) }}
// {{ formatedText(userInfo?.name, 3, '∗∗∗') }}显示：Mam∗∗∗
